home *** CD-ROM | disk | FTP | other *** search
/ Champak 141 / (Vol 141) Oct 17 2011.iso / Games / despereaux-swings.swf / scripts / Box2D / Common / Math / b2Math.as < prev    next >
Encoding:
Text File  |  2011-10-17  |  7.3 KB  |  221 lines

  1. package Box2D.Common.Math
  2. {
  3.    public class b2Math
  4.    {
  5.       
  6.       public static const b2Mat22_identity:b2Mat22 = new b2Mat22(0,new b2Vec2(1,0),new b2Vec2(0,1));
  7.       
  8.       public static const b2Vec2_zero:b2Vec2 = new b2Vec2(0,0);
  9.       
  10.       public static const b2XForm_identity:b2XForm = new b2XForm(b2Vec2_zero,b2Mat22_identity);
  11.        
  12.       
  13.       public function b2Math()
  14.       {
  15.          super();
  16.       }
  17.       
  18.       public static function b2CrossVF(param1:b2Vec2, param2:Number) : b2Vec2
  19.       {
  20.          var _loc3_:b2Vec2 = null;
  21.          return new b2Vec2(param2 * param1.y,-param2 * param1.x);
  22.       }
  23.       
  24.       public static function AddVV(param1:b2Vec2, param2:b2Vec2) : b2Vec2
  25.       {
  26.          var _loc3_:b2Vec2 = null;
  27.          return new b2Vec2(param1.x + param2.x,param1.y + param2.y);
  28.       }
  29.       
  30.       public static function b2IsValid(param1:Number) : Boolean
  31.       {
  32.          return isFinite(param1);
  33.       }
  34.       
  35.       public static function b2MinV(param1:b2Vec2, param2:b2Vec2) : b2Vec2
  36.       {
  37.          var _loc3_:b2Vec2 = null;
  38.          return new b2Vec2(b2Min(param1.x,param2.x),b2Min(param1.y,param2.y));
  39.       }
  40.       
  41.       public static function b2MulX(param1:b2XForm, param2:b2Vec2) : b2Vec2
  42.       {
  43.          var _loc3_:b2Vec2 = null;
  44.          _loc3_ = b2MulMV(param1.R,param2);
  45.          _loc3_.x += param1.position.x;
  46.          _loc3_.y += param1.position.y;
  47.          return _loc3_;
  48.       }
  49.       
  50.       public static function b2DistanceSquared(param1:b2Vec2, param2:b2Vec2) : Number
  51.       {
  52.          var _loc3_:Number = NaN;
  53.          var _loc4_:Number = NaN;
  54.          _loc3_ = param1.x - param2.x;
  55.          _loc4_ = param1.y - param2.y;
  56.          return _loc3_ * _loc3_ + _loc4_ * _loc4_;
  57.       }
  58.       
  59.       public static function b2Swap(param1:Array, param2:Array) : void
  60.       {
  61.          var _loc3_:* = undefined;
  62.          _loc3_ = param1[0];
  63.          param1[0] = param2[0];
  64.          param2[0] = _loc3_;
  65.       }
  66.       
  67.       public static function b2AbsM(param1:b2Mat22) : b2Mat22
  68.       {
  69.          var _loc2_:b2Mat22 = null;
  70.          return new b2Mat22(0,b2AbsV(param1.col1),b2AbsV(param1.col2));
  71.       }
  72.       
  73.       public static function SubtractVV(param1:b2Vec2, param2:b2Vec2) : b2Vec2
  74.       {
  75.          var _loc3_:b2Vec2 = null;
  76.          return new b2Vec2(param1.x - param2.x,param1.y - param2.y);
  77.       }
  78.       
  79.       public static function b2MulXT(param1:b2XForm, param2:b2Vec2) : b2Vec2
  80.       {
  81.          var _loc3_:b2Vec2 = null;
  82.          var _loc4_:Number = NaN;
  83.          _loc3_ = SubtractVV(param2,param1.position);
  84.          _loc4_ = _loc3_.x * param1.R.col1.x + _loc3_.y * param1.R.col1.y;
  85.          _loc3_.y = _loc3_.x * param1.R.col2.x + _loc3_.y * param1.R.col2.y;
  86.          _loc3_.x = _loc4_;
  87.          return _loc3_;
  88.       }
  89.       
  90.       public static function b2Abs(param1:Number) : Number
  91.       {
  92.          return param1 > 0 ? param1 : -param1;
  93.       }
  94.       
  95.       public static function b2Clamp(param1:Number, param2:Number, param3:Number) : Number
  96.       {
  97.          return b2Max(param2,b2Min(param1,param3));
  98.       }
  99.       
  100.       public static function b2AbsV(param1:b2Vec2) : b2Vec2
  101.       {
  102.          var _loc2_:b2Vec2 = null;
  103.          return new b2Vec2(b2Abs(param1.x),b2Abs(param1.y));
  104.       }
  105.       
  106.       public static function MulFV(param1:Number, param2:b2Vec2) : b2Vec2
  107.       {
  108.          var _loc3_:b2Vec2 = null;
  109.          return new b2Vec2(param1 * param2.x,param1 * param2.y);
  110.       }
  111.       
  112.       public static function b2CrossVV(param1:b2Vec2, param2:b2Vec2) : Number
  113.       {
  114.          return param1.x * param2.y - param1.y * param2.x;
  115.       }
  116.       
  117.       public static function b2Dot(param1:b2Vec2, param2:b2Vec2) : Number
  118.       {
  119.          return param1.x * param2.x + param1.y * param2.y;
  120.       }
  121.       
  122.       public static function b2CrossFV(param1:Number, param2:b2Vec2) : b2Vec2
  123.       {
  124.          var _loc3_:b2Vec2 = null;
  125.          return new b2Vec2(-param1 * param2.y,param1 * param2.x);
  126.       }
  127.       
  128.       public static function AddMM(param1:b2Mat22, param2:b2Mat22) : b2Mat22
  129.       {
  130.          var _loc3_:b2Mat22 = null;
  131.          return new b2Mat22(0,AddVV(param1.col1,param2.col1),AddVV(param1.col2,param2.col2));
  132.       }
  133.       
  134.       public static function b2Distance(param1:b2Vec2, param2:b2Vec2) : Number
  135.       {
  136.          var _loc3_:Number = NaN;
  137.          var _loc4_:Number = NaN;
  138.          _loc3_ = param1.x - param2.x;
  139.          _loc4_ = param1.y - param2.y;
  140.          return Math.sqrt(_loc3_ * _loc3_ + _loc4_ * _loc4_);
  141.       }
  142.       
  143.       public static function b2MulTMM(param1:b2Mat22, param2:b2Mat22) : b2Mat22
  144.       {
  145.          var _loc3_:b2Vec2 = null;
  146.          var _loc4_:b2Vec2 = null;
  147.          var _loc5_:b2Mat22 = null;
  148.          _loc3_ = new b2Vec2(b2Dot(param1.col1,param2.col1),b2Dot(param1.col2,param2.col1));
  149.          _loc4_ = new b2Vec2(b2Dot(param1.col1,param2.col2),b2Dot(param1.col2,param2.col2));
  150.          return new b2Mat22(0,_loc3_,_loc4_);
  151.       }
  152.       
  153.       public static function b2MaxV(param1:b2Vec2, param2:b2Vec2) : b2Vec2
  154.       {
  155.          var _loc3_:b2Vec2 = null;
  156.          return new b2Vec2(b2Max(param1.x,param2.x),b2Max(param1.y,param2.y));
  157.       }
  158.       
  159.       public static function b2IsPowerOfTwo(param1:uint) : Boolean
  160.       {
  161.          var _loc2_:Boolean = false;
  162.          return param1 > 0 && (param1 & param1 - 1) == 0;
  163.       }
  164.       
  165.       public static function b2ClampV(param1:b2Vec2, param2:b2Vec2, param3:b2Vec2) : b2Vec2
  166.       {
  167.          return b2MaxV(param2,b2MinV(param1,param3));
  168.       }
  169.       
  170.       public static function b2RandomRange(param1:Number, param2:Number) : Number
  171.       {
  172.          var _loc3_:Number = NaN;
  173.          _loc3_ = Math.random();
  174.          return (param2 - param1) * _loc3_ + param1;
  175.       }
  176.       
  177.       public static function b2MulTMV(param1:b2Mat22, param2:b2Vec2) : b2Vec2
  178.       {
  179.          var _loc3_:b2Vec2 = null;
  180.          return new b2Vec2(b2Dot(param2,param1.col1),b2Dot(param2,param1.col2));
  181.       }
  182.       
  183.       public static function b2Min(param1:Number, param2:Number) : Number
  184.       {
  185.          return param1 < param2 ? param1 : param2;
  186.       }
  187.       
  188.       public static function b2Random() : Number
  189.       {
  190.          return Math.random() * 2 - 1;
  191.       }
  192.       
  193.       public static function b2MulMM(param1:b2Mat22, param2:b2Mat22) : b2Mat22
  194.       {
  195.          var _loc3_:b2Mat22 = null;
  196.          return new b2Mat22(0,b2MulMV(param1,param2.col1),b2MulMV(param1,param2.col2));
  197.       }
  198.       
  199.       public static function b2NextPowerOfTwo(param1:uint) : uint
  200.       {
  201.          param1 |= param1 >> 1 & 2147483647;
  202.          param1 |= param1 >> 2 & 1073741823;
  203.          param1 |= param1 >> 4 & 268435455;
  204.          param1 |= param1 >> 8 & 16777215;
  205.          param1 |= param1 >> 16 & 65535;
  206.          return param1 + 1;
  207.       }
  208.       
  209.       public static function b2Max(param1:Number, param2:Number) : Number
  210.       {
  211.          return param1 > param2 ? param1 : param2;
  212.       }
  213.       
  214.       public static function b2MulMV(param1:b2Mat22, param2:b2Vec2) : b2Vec2
  215.       {
  216.          var _loc3_:b2Vec2 = null;
  217.          return new b2Vec2(param1.col1.x * param2.x + param1.col2.x * param2.y,param1.col1.y * param2.x + param1.col2.y * param2.y);
  218.       }
  219.    }
  220. }
  221.